package com.rayboo.example.java8;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

/**
 * Lambda 示例
 *
 * @author ray
 * @since 2019/07/29
 *
 * <p>Lambda表达式是Java 8中引入的一个新特性.λ表达式是一个匿名函数。一个没有名称且不属于任何类的函数。
 * lambda表达式的概念最初是在LISP编程语言中引入的。
 *
 * <p>https://beginnersbook.com/2017/10/java-lambda-expressions-tutorial-with-examples/
 */
public class LambdaExample {

    public static void main(String[] args) {
//        Frame frame=new Frame("ActionListener Before Java8");
//
//        Button b=new Button("Click Here");
//        b.setBounds(50,100,80,50);
//
//        b.addActionListener(new ActionListener(){
//            public void actionPerformed(ActionEvent e){
//                System.out.println("Hello World!");
//            }
//        });
//        frame.add(b);
//
//        frame.setSize(200,200);
//        frame.setLayout(null);
//        frame.setVisible(true);
//
//        // Lambda
//        b.addActionListener(e -> System.out.println("Hello World!"));
//        frame.add(b);

        List<String> list = new ArrayList<String>();
        list.add("Rick");
        list.add("Negan");
        list.add("Daryl");
        list.add("Glenn");
        list.add("Carl");
        list.forEach((names) -> System.out.println(names));
    }
}
